const App = getApp()

//网络请求封装
import Request_post from "../../../../../request/Request_post"
import Request_get from "../../../../../request/Request_get"

//系统设置项目:(请求地址-在封装中已经引入，这里不需要;   api调用的Appid-partner_app_id;   渠道ID-as_appid)
import config from '../../../../../config/config'; 


Page({
 
  data: {

    /* 图片上传需要用到的初始变量（自己写的代码）*/
    // imgListUrls:[],
    // imgUrls:[],
    // tempNewUplist:[],
    // hasImgUpload:false, 

    // 图片上传需要用到的初始变量（Vant框架）
		fileList: [],
		imgUrls: [],

    
    textArea:"",
    delImg:config.imageUrl+"delete_img.png",  //删除图标
		addImg:config.imageUrl+"add_img.png",   //增加图标
		
		// 隐私提示框的显示控制：默认不显示
		showDialog: false
		

  },

  /*---------- 使用Vant框架实现图片上传、预览、删除 Begin ----------*/
	// Vant：文件上传(这里仅限图片)
	afterRead(event) {
		const { file } = event.detail;
    wx.uploadFile({
      url: config.domainName+"api_wxmkt_server/upload",
      filePath: file.url,
      name: 'file',
      formData: { user: 'file' },
      success:(res)=> {
				this.setData({ fileList:[] })
        // 上传完成需要更新 fileList
        const { fileList = [] } = this.data;
        this.data.fileList.push({ ...file, url: res.data });
				this.setData({ fileList });
				// 以上为Vant官方代码，以下为自己实际业务的代码（数组：imgUrls 为预览、删除、上传用的真实图片数组 ）
				var fileListArray = this.data.fileList
        var tempObj = {}
        // console.log(fileListArray)
				for(var i in fileListArray){
					tempObj.url = JSON.parse(fileListArray[i].url).payload.data.filename
					tempObj.name = '图片'+ event.detail.index
					tempObj.isImage = true
					tempObj.deletable = true 
				}
				this.data.imgUrls.push(tempObj)
        this.setData({imgUrls: this.data.imgUrls})
        // console.log(this.data.imgUrls)
      },
    });
	},
	// Vant：删除文件
	deleteImg(event) {
		console.log(event)
		let imgDelIndex = event.detail.index
		let imgUrls = this.data.imgUrls
		imgUrls.splice(imgDelIndex,1)
		console.log('删除图片的',imgUrls)
		this.setData({
			imgUrls
		})
	},
	// 上传图片到服务器
  uploadImg:function(){
    var that = this
    const scd = that.data.scd
    const salamt = that.data.salamt
    if(!scd){that.setData({scd:"",})}else{that.setData({scd:String(that.data.scd)})}
    if(!salamt){that.setData({salamt:0,})}else{that.setData({salamt:Number(that.data.salamt)})}
		// 使用Vant组件后，原来的imgUrls数组结构必须遵循Vant框架的要求，所以这里不能直接对imgUrls数组进行循环（取data的值），需要重构一个新的数组[imageurl]来做为取值对象，imageurl的结构为["图片01实际地址",""图片02实际地址"...]
		var tempImgArray = that.data.imgUrls
    var imageurl = []
    console.log(that.data.imgUrls)
		for(var i in tempImgArray){
			imageurl.push(tempImgArray[i].url)
		}
		// 如果有图片
    if(that.data.imgUrls.length){
      let data = {
        rqtmodid: "01",
        rqtbrf: that.data.textArea || "积分补登-交易小票拍照",
        scd: that.data.scd,
        trdamt: that.data.salamt,
			};	
      imageurl.forEach((url,index) => {
        data[`picname0${index+1}`] = url
			});
      /** Api请求：12-001 会员积分补登申请-01拍照模式 **/
      Request_post.post(
      config.domainName+'api_wxmkt_server/mbritgextadd/mbritgextadd',
      data,
      function(res){
        console.log(res)
        if(res != "undefined" && res.return_no == 1){
          that.setData({
            rqtno:res.return_data.rqtno
          })
          wx.showModal({
            title: res.return_msg+"  "+ that.data.rqtno,
            showCancel:false,
            success (res) {
              if (res.confirm) {
                wx.redirectTo({
                  url:"/SubpkgMemberbiz/pages/Member/Mbritgextadd/ItgAdd_RecordDetails/ItgAdd_RecordDetails?rqtno="+that.data.rqtno,
                })
              } 
            }
          })
        }else{
          wx.showToast({
            title: res.return_msg,
          })
        }

      })
    }else{
      wx.showToast({
        title: '没有需要上传的图片',
        icon: 'none',
        duration: 2000
      })
    }
   
  },
	/*---------- 使用Vant框架实现图片上传、预览、删除 end ----------*/ 


  /*---------- 自己写的代码实现图片上传、预览、删除 Begin ----------*/
  // 调用相机或者本地相册获取图片
  // chooseImg:function(e){
  //   var that = this
  //   wx.chooseImage({
  //     count:(3-that.data.imgListUrls.length),   //最大上传照片数量
  //     sizeType:['original','compressed'],
  //     // sizeType:['compressed'],
  //     success:function(res){
  //     // console.log(res)
  //       res.tempFilePaths.forEach(filepath => {
  //         wx.uploadFile({
  //           url: config.domainName+"api_wxmkt_server/upload",  // 图片上传的域名地址
  //           filePath: filepath,
  //           name: 'file',
  //           success:function(res){
  //             // console.log(res)
  //             // console.log(JSON.parse(res.data))
  //             // console.log(JSON.parse(res.data).payload.data)
  //             // console.log(JSON.parse(res.data).payload.data.filename)
  //             let url = JSON.parse(res.data).payload.data.filename;
  //             that.data.imgUrls.push(url);
  //             that.setData({
  //               imgUrls:that.data.imgUrls
  //             });
  //             // console.log(that.data.imgUrls)
  //           }
  //         });
  //       });
  //     },
  //     fail:function(e){
  //       wx.showToast({
  //         title: e.errMsg,
  //         icon: 'none',
  //         duration: 2000
  //       })
  //       setTimeout(function () {
  //         wx.hideToast()
  //       }, 2000)
  //     }
  //   })
  // },
  // /*-- 上传图片到服务器 --*/
  // uploadImg:function(){
  //   var that = this
  //   const scd = that.data.scd
  //   const salamt = that.data.salamt
  //   if(!scd){that.setData({scd:"",})}else{that.setData({scd:String(that.data.scd)})}
  //   if(!salamt){that.setData({salamt:0,})}else{that.setData({salamt:Number(that.data.salamt)})}
  //   // 如果有图片
  //   console.log(that.data.imgUrls)
  //   if(that.data.imgUrls.length){
  //     let data = {
  //       rqtmodid: "01",
  //       rqtbrf: that.data.textArea || "积分补登-交易小票拍照",
  //       scd: that.data.scd,
  //       trdamt: that.data.salamt,
  //     };
  //     that.data.imgUrls.forEach((url,index) => {
  //       data[`picname0${index+1}`] = url
  //     });
  //     console.log(data)
  //     return;
  //     /** Api请求：12-001 会员积分补登申请-01拍照模式 **/
  //     Request_post.post(
  //     config.domainName+'api_wxmkt_server/mbritgextadd/mbritgextadd',
  //     data,
  //     function(res){
  //       console.log(res)
  //       if(res != "undefined" && res.return_no == 1){
  //         that.setData({
  //           rqtno:res.return_data.rqtno
  //         })
  //         wx.showModal({
  //           title: res.return_msg+"  "+ that.data.rqtno,
  //           showCancel:false,
  //           success (res) {
  //             if (res.confirm) {
  //               wx.redirectTo({
  //                 url:"/SubpkgMemberbiz/pages/Member/Mbritgextadd/ItgAdd_RecordDetails/ItgAdd_RecordDetails?rqtno="+that.data.rqtno,
  //               })
  //             } 
  //           }
  //         })
  //       }else{
  //         wx.showToast({
  //           title: res.return_msg,
  //         })
  //       }

  //     })
  //   }else{
  //     wx.showToast({
  //       title: '上传至少一张图片',
  //       icon: 'none',
  //       duration: 2000
  //     })
  //   }
   
  // },
  // /*-- 预览图片 --*/
  // previewImg:function(e){
  //   var that = this

  //   console.log(that.data.imgUrls[e.currentTarget.dataset.id])
  //   console.log(that.data.imgUrls)
		
  //   wx.previewImage({
  //     current: that.data.imgUrls[e.currentTarget.dataset.id],
  //     urls: that.data.imgUrls,
  //   })
  // },
  // /*-- 删除图片 --*/
  // delImg:function(e){
  //   var that = this
  //   //获取数据绑定的data-id的数据
  //   var currIndex = e.currentTarget.dataset.id
  //   let images = that.data.imgUrls
  //   images.splice(currIndex, 1);
  //   this.setData({
  //     imgListUrls:images,
  //     imgUrls:images
  //   })
  //   if(that.data.imgUrls.length>0){
  //     this.setData({
  //       hasImgUpload:true
  //     })
  //   }
  // },

  // 跳转到引导注册页面
  redirect:function(){
    // 会员是否注册的标志regflg === 'n'时，路由到引导注册页面
    getApp().loginPromise.then(v => {	//app.js的Promise成功回调（全局变量赋值成功后才执行请求）
      if(App.globalData.regflg === 'n'){
        wx.redirectTo({
          url: '/pages/Public/boot_regstration/boot_regstration',
        })
        return;
      }
    })
	},


	/** 同意授权的回调 */
	agree(e){
		var authorizeType = e.detail.authorizeType
		if(authorizeType == 'passive'){
			//被动触发时： 用户点击同意后，开发者调用 resolve({ buttonId: 'agree-btn', event: 'agree' })  告知平台用户已经同意，参数传同意按钮的id。为确保用户有同意的操作，基础库在 resolve 被调用后，会去检查对应的同意按钮有没有被点击过。检查通过后，相关隐私接口会继续调用
			this.setData({ showDialog: false})
			var buttonId = e.detail.buttonId
			var event = e.detail.event
			this.resolvePrivacyAuthorization({ buttonId: buttonId, event: event })
		}else if(authorizeType == 'initiative'){
			// 主动查询隐私授权模式initiative 不用写任何代码
			// 用户同意隐私协议事件回调
			// 用户点击了同意，之后所有隐私接口和组件都可以调用了
		}
	},
	/** 拒绝授权的回调 */
	disagree(e){
		console.log(e)
		var authorizeType = e.detail.authorizeType
		if(authorizeType == 'passive'){
			var buttonId = e.detail.buttonId
			var event = e.detail.event
			// authorizeType == 'passive'模式时： 需要调用 resolve({ event:'disagree' }) 告知平台用户已经拒绝
			this.resolvePrivacyAuthorization({ event: event }) 
		}
	},
	



  onLoad: function (options) {
		
		//如果微信判断调用页面有调用隐私接口（点击组件或调用API时），会调用onNeedPrivacyAuthorization通知弹隐私弹框
		wx.onNeedPrivacyAuthorization(resolve => {
			console.log("wx.onNeedPrivacyAuthorization 需要进行弹框")
			this.resolvePrivacyAuthorization = resolve
			this.setData({
				// 控制页面隐私弹框组件展示
				showDialog:true //展示页面隐私弹框
			})
		})

    this.redirect()
	},

  /**
   * Lifecycle function--Called when page show
   */
  onShow: function () {
    var that = this
    that.setData({
      imgListUrls: that.data.imgUrls,
    })

    // 会员是否注册的标志regflg === 'n'时，路由到引导注册页面
		getApp().loginPromise.then(v => {	//app.js的Promise成功回调（全局变量赋值成功后才执行请求）
			if(App.globalData.regflg === 'n'){
				wx.redirectTo({
				  url: '/pages/Public/boot_regstration/boot_regstration',
				})
				return;
			 }
     })
     
  },




})